home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #9 / Amiga Plus CD - 2004 - No. 09.iso / amigaplus / tools / amigaos4_only / mpega_libmad / library_base.h < prev    next >
C/C++ Source or Header  |  2004-08-03  |  1KB  |  65 lines

  1. #ifndef LIBRARY_BASE_H
  2. #define LIBRARY_BASE_H
  3.  
  4. #define __USE_SYSBASE
  5. #include <proto/exec.h>
  6. #include <exec/execbase.h>
  7. #include <proto/dos.h>
  8.  
  9. #ifdef BUILD_POWERUP
  10. struct StartupData
  11. {
  12.     APTR ElfObject;
  13. };
  14.  
  15. struct CallPPCData
  16. {
  17.     ULONG Type;
  18.     ULONG PPCLVO;
  19.     ULONG Args[3];
  20.     ULONG Return;
  21. };
  22.  
  23. #define MSGTYPE_INIT 1
  24. #define MSGTYPE_REMOVE 2
  25. #define MSGTYPE_CALL 3
  26. #define MSGTYPE_HELLO 4
  27. #define MSGTYPE_GOODBYE 5
  28. #else
  29. struct MyStackSwapStruct
  30. {
  31.     struct StackSwapStruct stack;
  32.     ULONG Return;
  33.     ULONG Args[8];
  34. };
  35.  
  36. #define REQ_STACKSIZE 8192    /* Must be 4-byte aligned! */
  37. #endif
  38.  
  39. struct PrivateBase {
  40.     struct Library pv_Lib;
  41.     UWORD pv_Pad;
  42.  
  43.     struct ExecBase *pv_SysBase;
  44.     struct DosLibrary *pv_DOSBase;
  45.     BPTR pv_SegList;
  46.  
  47. #ifdef BUILD_POWERUP
  48.     struct Library *pv_PPCLibBase;
  49.     APTR pv_ElfObject;
  50.     APTR pv_LibFuncTable;
  51.     APTR pv_ReplyPort;
  52.     APTR pv_StartupMsg;
  53.     struct StartupData *pv_StartupData;
  54.     APTR pv_Task;
  55.     APTR pv_PPCPort;
  56.     APTR pv_CallPPCMsg;
  57.     struct CallPPCData *pv_CallPPCData;
  58.     struct PrivateBase *ParentBase;
  59. #else
  60.     struct MyStackSwapStruct stackswap;
  61. #endif
  62. };
  63.  
  64. #endif
  65.